16109
17600
Vorrei visualizzare articoli appartenenti a clienti diversi. A tal fine, sto recuperando i dati tramite una chiamata ajax e quindi raggruppando i dati in base a ciascun cliente unico. Quindi aggiungo i dati raggruppati al mio html.
La struttura dei miei dati raggruppati è simile a:
"John Doe": [
{
"Item_id": 1
"Item_name": "abc"
},
{
"Item_id": 2
"Item_name": "def"
},
],
"Jane Doe":
{
"Item_id": 3
"Item_name": "ghi"
},
{
"Item_id": 4
"Item_name": "jkl"
},
]
Il mio codice è simile a:
$ .each (groupedData, function (key, value) {
$ ('. cust_items'). append (`

"+ key +"

Articolo n. Nome oggetto
`); $ .each (value, function (ky, val) { $ ('# dataTable tbody'). append ( " "+ ky +" "+ val.Item_name +" `); }); }); Sto affrontando un problema in cui tutti gli articoli vengono visualizzati sotto il primo cliente mentre i dati vengono visualizzati correttamente sotto il secondo cliente.
Mancano le virgole dopo che le proprietà e gli oggetti della proprietà Jane Doe non sono racchiusi tra []. Valuta la possibilità di modificare il tuo oggetto groupedData poiché la sintassi non è corretta.
Modifica: anche regolata la stringa del modello e l'accesso alla tabella con ID dinamico.
Campione:
let groupedData = {
"John Doe": [{
"Item_id": 1,
"Item_name": "abc"
},
{
"Item_id": 2,
"Item_name": "def"
}
],
"Jane Doe": [{
"Item_id": 3,
"Item_name": "ghi"
},
{
"Item_id": 4,
"Item_name": "jkl"
}
]
};
$ .each (groupedData, function (key, value) {
$ ('. cust_items'). append (`

$ {key}

Articolo n. Nome oggetto
`); $ .each (value, function (ky, val) { $ (`#dataTable _ $ {key.split ('') .join ('_')} tbody`) .append ( " $ {ky} $ {val.Item_name} `); }); });
| Sono un po 'in ritardo per la festa, ma ecco un modo divertente e pratico per visualizzare i tuoi dati in modo dinamico utilizzando l'elemento